summaryrefslogtreecommitdiff
path: root/examples/docs/src/pages/[...slug].astro
diff options
context:
space:
mode:
authorGravatar Ben Holmes <hey@bholmes.dev> 2023-01-18 08:43:58 -0500
committerGravatar GitHub <noreply@github.com> 2023-01-18 08:43:58 -0500
commit7d72aeeae8c867af2ae6c018611e39c184f50619 (patch)
tree93015c571dc820db3e37e8eba93455014a048d7e /examples/docs/src/pages/[...slug].astro
parent006405d33c2b8eb1307cb84161659428e43efa51 (diff)
downloadastro-7d72aeeae8c867af2ae6c018611e39c184f50619.tar.gz
astro-7d72aeeae8c867af2ae6c018611e39c184f50619.tar.zst
astro-7d72aeeae8c867af2ae6c018611e39c184f50619.zip
Migrate blog and docs starters to content collections (#5858)
* docs: update README for `content/` * chore: update env * feat: update blog to use content collections * chore: remove with-content starter * fix: single quotes -> double * feat: update docs starter to content collections * refactor: config -> consts * chore: import type * edit: Astro will -> Use Co-authored-by: Sarah Rainsberger <sarah@rainsberger.ca> * chore: remove unused null check * nit: spacing * nit: `as Props` 1 Co-authored-by: Nate Moore <natemoo-re@users.noreply.github.com> * nit: `as Props` 2 Co-authored-by: Nate Moore <natemoo-re@users.noreply.github.com> * chore: consistent CONSTS usage * chore: `type` imports at top * chore: consistent quote usage on YAML * chore: remove `as Props` from docs Co-authored-by: Sarah Rainsberger <sarah@rainsberger.ca> Co-authored-by: Nate Moore <natemoo-re@users.noreply.github.com>
Diffstat (limited to 'examples/docs/src/pages/[...slug].astro')
-rw-r--r--examples/docs/src/pages/[...slug].astro22
1 files changed, 22 insertions, 0 deletions
diff --git a/examples/docs/src/pages/[...slug].astro b/examples/docs/src/pages/[...slug].astro
new file mode 100644
index 000000000..a59e4bc2a
--- /dev/null
+++ b/examples/docs/src/pages/[...slug].astro
@@ -0,0 +1,22 @@
+---
+import { CollectionEntry, getCollection } from 'astro:content';
+import MainLayout from '../layouts/MainLayout.astro';
+
+export async function getStaticPaths() {
+ const docs = await getCollection('docs');
+ return docs.map((entry) => ({
+ params: {
+ slug: entry.slug,
+ },
+ props: entry,
+ }));
+}
+type Props = CollectionEntry<'docs'>;
+
+const post = Astro.props;
+const { Content, headings } = await post.render();
+---
+
+<MainLayout headings={headings} {...post.data}>
+ <Content />
+</MainLayout>